home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / util / SwingWorker.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  1.8 KB  |  65 lines

  1. package com.extensibility.util;
  2.  
  3. public abstract class SwingWorker {
  4.    private Object value;
  5.    private Thread thread;
  6.    private ThreadVar threadVar;
  7.  
  8.    public SwingWorker() {
  9.       1 var1 = new 1(this);
  10.       2 var2 = new 2(var1, this);
  11.       Thread var3 = new Thread(var2);
  12.       this.threadVar = new ThreadVar(var3);
  13.       var3.start();
  14.    }
  15.  
  16.    public abstract Object construct();
  17.  
  18.    public void finished() {
  19.    }
  20.  
  21.    public Object get() {
  22.       while(true) {
  23.          Thread var1 = this.threadVar.get();
  24.          if (var1 == null) {
  25.             return this.getValue();
  26.          }
  27.  
  28.          try {
  29.             var1.join();
  30.          } catch (InterruptedException var4) {
  31.             Thread.currentThread().interrupt();
  32.             Object var3 = null;
  33.             return var3;
  34.          }
  35.       }
  36.    }
  37.  
  38.    protected synchronized Object getValue() {
  39.       return this.value;
  40.    }
  41.  
  42.    public void interrupt() {
  43.       Thread var1 = this.threadVar.get();
  44.       if (var1 != null) {
  45.          var1.interrupt();
  46.       }
  47.  
  48.       this.threadVar.clear();
  49.    }
  50.  
  51.    private synchronized void setValue(Object var1) {
  52.       this.value = var1;
  53.    }
  54.  
  55.    // $FF: synthetic method
  56.    static void access$1000071(SwingWorker var0, Object var1) {
  57.       var0.setValue(var1);
  58.    }
  59.  
  60.    // $FF: synthetic method
  61.    static ThreadVar access$1000171(SwingWorker var0) {
  62.       return var0.threadVar;
  63.    }
  64. }
  65.